|
전체 프로젝트에 적용될 수 있는 몇 개의 CVS관련 오퍼레이션이 있습니다. 그들은 주요 CVS 메뉴로부터 모두 이용할 수 있습니다:
당신의 프로젝트 파일의 CVS 정보 보기
프로젝트 커미팅
프로젝트 갱신
프로젝트 상태 확인
|
당신의 프로젝트 파일에 관한 CVS 정보 보기
|
IDEA는 당신에게 최종 갱신, 체크 아웃, 또는 커밋한 이후의 그들의 상태에 관한 당신의 프로젝트 파일의 모든 것을 검토할 수 있도록 그 내부의 CVS File View 특징을 제공합니다. 당신은 당신의 프로젝트에서 어떤 파일에 대해서 status, revision
number, sticky tag/date와 keyword substitution 규칙을 검토할 수 있습니다.
이 보기는 제공된 툴 윈도우에 나타나고, 당신에게 그들의 속성에 의해 프로젝트 파일을 필터링하고, 정렬하는 것을 허락합니다.
이 툴 윈도우를 가능하게 하기 위하여, 메인 메뉴로부터의 CVS | Show
File View를 선택하십시오:

툴 윈도우 제어는 약간 직관적입니다. 당신이 그것을 포인트 할 때 어떤 툴바 버튼이라도 툴팁을 표시할 것입니다. 부가적인 약간의 설명을 필요할지도 모르는 버튼은 다음과 같습니다:
Synchronize:
당신은 변경된 파일이 변경으로서 마크되도록 에디터에서 변경한 후에 툴 윈도우에서 보는 것을 동기화 할 필요가 있습니다. 당신은 예컨대 파일 위에서 CVS 명령을 부르고 난 후에 Update,
Commit 등과 같이 수동으로 동기화할 필요가 없습니다. 명령이 수행된 후에 IDEA는 변경과 재생을 자동적으로 분석할 것입니다.
View
Mode:
당신은 트리 모드로 또는 목록 모드로 파일을 보는 것을 더 좋아할 수도 있습니다. 당신은 이 툴바 버튼을 토글하여 모드를 바꿀 수 있습니다. 목록 모드에서, 표 헤더를 클릭하면 상응하는 매개 변수에 의해 파일을 정렬합니다. 오름차순과 내림차순 정렬을 이용할 수 있습니다.
Filter By File Status 그룹은 당신이 보기를 감소시키는 것을 돕습니다. 그래서 지정된 상태가 있는 파일만이 리스트 됩니다.
당신은 상응하는 테이블 칼럼에서 또는 단순히 파일의 상태 색을 해석에서 둘 중 어느 쪽에서도 리스트된 파일의 상태 정보를 얻을 수 있습니다.
Shown Columns 그룹 박스의 도움으로, 당신은 표의 콘텐트를 원하는 칼럼을 가능/불가능하게 하여 쉽게 커스터마이즈 할 수 있습니다.
이 툴 윈도우의 문맥 메뉴는 모든 파일에 관련된 CVS 명령을 포함합니다. 현재 적용 가능한 것은 사용 가능하게 됩니다.
|

|
복수 선택이 파일 목록에서 이용할 수 있는 이후로, CVS
File View를 사용하면 특히 도움이 될 수 있습니다. 여기에서 당신은 그들의 상태에 의한 몇 개의 파일을 모을 수 있고, 그 다음 그들 모두에 필요 CVS 명령을 한번에 적용할 수 있습니다. 예를 들면, 만일 당신이 변경된 몇 개의 파일을 가진다면, 당신은 쉽게 파일 상태로 정렬하고 또는 단지 변경된 파일을 필터링하며, 그 다음 전체 또는 그들 중의 일부를 선택하고 문맥 메뉴로부터 Commit 을 부를 수 있습니다.
|
CVS 파일 보기로부터 이용할 수 있는 별도 파일 조작에 대한 세부사항을 위해 파일에 특유한 오퍼레이션 을 참조하십시오.
IDEA의 Commit Project 명령은 당신에게 CVS 저장소로 프로젝트에서 만들어지는 모든 변경을 업로딩하는데 매우 편리한 방법을 제공합니다. 커밋 오퍼레이션을 수행하기 전에, IDEA는 다음의 다이얼로그를 엽니다:

여기에서 당신은 저장소와 함께 당신의 최종 동기화 이후 프로젝트에서 당신에 의해 만들어지는 모든 변경을 검토할 수 있습니다. 사실상 좌측의 패널은 당신의 최종 체크아웃, 업데이트, 또는 커밋을 즉시 따르고 있는 프로젝트 파일 상태의 "snapshot" 입니다. 우측의 패널은 파일의 current 상태를 표시합니다.
|

|
프로젝트를 커밋 할 때 알려지지 않고 외부적으로 삭제된 파일은 무시됩니다. 당신은 트리 뷰로부터 그런 파일을 보이거나 숨기기 위해서 Show unknown 와 Show externally deleted 체크 박스를 사용할 수 있습니다. 예를 들면, 만일 당신이 파일을 추가 또는 삭제하기 위한 스케줄 파일을 원한다면 당신은 그들을 표시하고 싶어할 것 입니다.
그런 파일 위의 오퍼레이션을 위해, 당신은 문맥 메뉴 또는 어느 쪽의 패널에서 파일 이름의 오른쪽에서 와 아이콘을 사용할 수 있습니다 (당신이 마우스로 그들을 가리킬 때 아이콘은 항상 툴팁을 표시합니다).
|
|
Context menu:
이 다이얼로그에서 이용 가능한 문맥 메뉴는 대부분 다이얼로그의 툴바 콘텐트를 반복하고, 파일 위에서 부가의 몇 개의 오퍼레이션을 제공합니다:
Ignore, Add 와Remove.
|

|
Toolbar:
|

|
Show Changes:
현재 선택된 파일의 두 버전을 비교하기 위해 Diff
다이얼로그를 엽니다. 표준 툴바 버튼에 더하여, Diff 다이얼로그는 또한 두 버튼을 포함할 것입니다: 
그들을 이용하면, 그것에 후방을 바꾸지 않고 당신은 Commit
Project 트리의 다음/이전의 다른 파일에 빨리 네비게이트 할 수 있습니다.
|
|

|
Rollback Changes:
최종 동기화 현재 상태에 있어서 이 명령은 선택된 파일 또는 파일의 상태를 돌릴 것입니다.
|

|
만일 당신이 다른 CVS 상태와 함께 멀티 파일을 선택했더라면, 이 명령을 부르는 것에 주의하십시오.
Rollback Changes 는 CVS 상태에 따라서 다양한 영향을 가집니다. 다른 파일에 대해 이 명령의 더 많은 정보를 위해, File-specific
Operations: Rollback을 참조하십시오.
|
|
|

|
Edit Source:
다이얼로그를 닫고, 에디터에서 현재 선택된 파일을 엽니다.
|
|

|
Exclude from Commit:
커밋으로부터 제외되는 선택 파일을 마크합니다. 이것은 명령을 수행할 때 CVS가 단지 이 파일을 무시할 것인지를 의미합니다. 커밋으로부터 제외된 파일은 strike-through 폰트와 더불어 나타납니다.
|
|

|
Include into Commit:
당신이 커밋으로부터 제외되는 어떤 파일을 갖고 있고 (이들 파일은 strike-through 폰트와 더불어 나타납니다) 당신이 그들을 뒤로 포함하고 싶어할 때, 단지 필요한 파일을 선택하고, 이 명령을 부릅니다.
|
Other
notes:
프로젝트 상태를 검토하고 난 후에 그리고 커밋하기 전에, 당신은 코드를 재포맷할 필요가 있거나, 당신의 코드 스타일 설정에 따르면 그것에서 임포트를 최적화해도 좋습니다.
필요하면, 커밋 주석을 쓰고 그 다음 Commit을 클릭합니다.
IDEA는 CVS 저장소와 함께 동기화를 시작할 것입니다.
CVS 서버로부터의 어떤 출력이라도 CVS 출력 탭에서 또는 만일 오류가 있으면 CVS 툴 윈도우의 Errors
탭에서 나타날 것입니다.
|

|
만일 커밋하고 있는 일부 파일의 상태가 서버 위에서 이미 변경되었다면, 당신은 상응하는 오류 메시지를 얻을 것이고, 그 다음
per-file 기초 위에서 충돌을 해결할 필요가 있을 것입니다. 분리된 파일과 함께 가능한 커밋 문제에 관해 더 많은 정보를 보려면, 파일에 특유한 오퍼레이션을 참조하십시오.
|
당신은 메인 메뉴에서 CVS |
Update Project를 호출하여 당신의 전체 프로젝트를 “Update”하는 IDEA를 가질 수 있습니다.
이 오퍼레이션은 특히 당신이 위치상 놓치고 있는 저장소(새로 추가되거나 기존의 둘 다)에서 존재하는 파일 뿐만 아니라 저장소에서 삭제된 파일을 보이는데 도움이 됩니다. 그것은 또한 당신이 위치상 가지고 있고 충돌을 발견하는 모든 변경된 파일을 요약하는 좋은 방법입니다. 아래쪽은 만일 프로젝트가 아주 크면 오퍼레이션은 약간의 시간이 걸릴 수 있다라는 것입니다.
당신은 갱신 프로젝트를 호출할 때 전체 프로젝트는 CVS 저장소를 분석하고 비교합니다, 그리고 몇 개의 가능한 동작이 프로젝트의 파일 상에서 생겨납니다:
저장소와 함께 동기화 하는 로컬 파일은 무시됩니다
만일 버전이 더 새로우면 로컬 파일은 저장소 버전과 함께 updated 됩니다.
저장소의 어떤 새로운(당신의 최종 동기화 이후)파일이라도 위치상 추가됩니다.
만일 그들이 위치상 존재하면 당신의 최종 동기화 이후 저장소로부터 삭제된 파일은 위치상 삭제됩니다.
변경된 것에 따라 당신이 당신의 최종 동기화 이후 변경했던 로컬 파일은 기록됩니다. 당신은 그들을 나중에 커밋 할 필요가 있을 것입니다.
파일의 저장소 버전이 당신의 최종 동기화 이후 다른 누군가에 의해 변경되고 당신의 로컬 카피가 또한 변경되었더라면, 파일은 저장소 버전으로 위치상 합병됩니다. 당신은 이 머지된 파일을 나중에 커밋할 필요가 있을 것입니다. 만일 파일이 충돌과 함께 합병되면, 그것은 별도 카테고리에서 기록됩니다. 당신은 그 다음 모든 그런 파일을 검토하고, 충돌을 수동으로 해결할 수 있을 것입니다.
위치상 추가되었으나 저장소의 안에 존재하지 않는 파일은 로그됩니다. 당신은 그들을 나중에 커밋할 필요가 있을 것입니다.
새로운 파일이 아니고 위치상 빗나가고 있는 저장소의 안에 존재하는 파일은 복원됩니다
아래 그림은 Update Project 오퍼레이션이 끝났을 때 나타나는 CVS Update 정보 툴 윈도우를 보여줍니다. 툴 윈도우는 오퍼레이션의 동작의 결과를 표시합니다. 그림은 Update Project 오퍼레이션의 가능한 결과를 설명합니다. 디폴트로, 여러 가지 오퍼레이션이 나무구조 보기에서 분류된다라는 점에 주의하십시오.(위에 언급된 모든 시나리오가 나타나지는 않습니다.) 각 오퍼레이션은 폴더로서 나타납니다. 그리고 오퍼레이션에 의해 영향을 받는 파일은 카테고리에서 노드로서 리스트됩니다. 당신은
패키지에 따라서 그룹파일에 툴바 상의 Group by packages 아이콘 ( )을 사용할 수 있습니다. (디폴트로 파일은 단순히 알파벳순으로 리스트 됩니다).

이 다이얼로그로부터 당신은 몇 개의 일을 할 수 있습니다:
파일 위에서 파일을 오른쪽 버튼을 클릭하고, 문맥 메뉴로부터 선택하여 일부 CVS 오퍼레이션을 호출하십시오
다이얼로그에서 그것을 선택하고 Enter를 눌러서 에디터에서 파일을 여십시오
에디터에서 파일을 열고, 다이얼로그에서 파일을 선택하고 더블 클릭하거나, F4를 눌러서 에디터에 초점을 맞춥니다.
CVS 메인 메뉴로부터 Check
Project Status를 부르는 것에 의해 당신은 CVS 저장소의 현재 상태에 관련하여 현재의 프로젝트 상태를 쉽게 확인할 수 있습니다.
IDEA는 서버로부터의 CVS 정보를 요청할 것이고, 그것을 당신이 위치상 가진 것과 비교할 것이고, 그 다음 CVS 툴 윈도우의 Status 탭에서 비교 결과를 출력할 것입니다:

결과적인 정보는 상태에 의해 편리하게 그룹됩니다.
|

|
당신이 너무 많은 변경을 만들거나 또는 당신이 저장소와 약간 오랫동안 동기화하지 않았거나, 또는 당신이 프로젝트 위에서 또는 심지어 코드의 같은 부분 위에서 작업하는 비교적 큰 팀을 갖고 있을 때, 특히 CVS로 당신의 프로젝트를 커밋하기 전의 이런 명령을 부르는데 유용합니다.
만일 당신이 전체 프로젝트 위에서 Commit 명령을 부른다면, 실제로 Status 보기는 당신에게 무엇이 발생했는가의 그림을 보여줍니다. 당신은 변경이 위치상 만들지 않았다는 것을 알 것이고, 또는 서버 위에서, 당신은 또한 충돌을 생산하는 합병 뿐만 아니라
가능한 합병에 대해서 알게 될 것 입니다.
|
이 정보에 기초하여, 당신은 가능한 충돌을 첫 번째로 해결하기로 결정해도 좋고, 그 다음 당신의 변경을 저장소에서 커밋해도 좋습니다.
만일 당신이 트리의 노드를 오른쪽 버튼 클릭하면, 문맥 메뉴는 현재의 항목에 적용 가능한 모든 CVS 명령을 포함할 것입니다.
|

|
This view is similar to the CVS File View ,
with the following differences:
이 보기는 다음의 다른 점과 함께 CVS 파일 보기 와 유사합니다:
File View 가 현재의 프로젝트를 최종으로 체크아웃, 업데이트, 커밋되었을 때의 상태와 비교하는 동안 Status 보기는 당신의 현재의 프로젝트 상태를 저장소의 현재 상태와 비교합니다
File View가 단지 파일의 상태를 확립하는 동안 Status 보기는 가능한 합병과 합병 충돌을 예측합니다
그들의 개정 번호, 가능한 변동이 없는 데이터 등과 같은 파일상에서
부가의 CVS 정보도 제공하지 않는 것에 따라 Status 보기는 유익하게 더 약합니다.
|
|